iT邦幫忙

2023 iThome 鐵人賽

DAY 24
0
  • 在 Odoo 中 Security 是負責權限設定的 ,當我們在創建權限的時候,一定要在__manifest__.py中加入,而且必須以權限大的優先排列:
'data': [
    'security/groups.xml',
    'security/ir.model.access.csv',
    'views/library_book.xml'
    ],

權限分類

  1. 對象級別 - 對DB的訪問權,可以對recordset進行CRUD的操作。
  2. 視圖級別 - 不同用戶組所能看到的畫面呈現與細項。
  3. 字段級別 - 對字段的訪問權限,而字段指的就是DB中Table裡的資料。

屬性的介紹

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <!-- 權限模型 -->
    <record id="model_permission" model="ir.model">
        <field name="name">Model Permission</field>
        <field name="model">model.permission</field>
        <field name="state">manual</field>
    </record>

    <!-- 權限設定 -->
    <record id="permission_read" model="model.permission">
        <field name="name">Read Model Data</field>
        <field name="model_id" ref="base.model_name" />
        <field name="perm_read" eval="1" />
        <field name="perm_create" eval="0" />
        <field name="perm_write" eval="0" />
        <field name="perm_unlink" eval="0" />
        <field name="group_id" ref="base.group_user" />
    </record>

    <record id="permission_create" model="model.permission">
        <field name="name">Create Model Data</field>
        <field name="model_id" ref="base.model_name" />
        <field name="perm_read" eval="0" />
        <field name="perm_create" eval="1" />
        <field name="perm_write" eval="0" />
        <field name="perm_unlink" eval="0" />
        <field name="group_id" ref="base.group_manager" />
    </record>

    <!-- 更多權限設定可以在這裡添加 -->

</odoo>
  • id: 權限的唯一識別符,用於區分不同的權限。每個權限都有一個獨特的id。
  • name: 權限的名稱,用於描述這個權限代表的操作或許可。例如,可以是 "讀取文件" 或 "新增用戶"。
  • model_id:id: 這是一個規則,根據這個規則,model_id被設置為 "model_" 後接著該模型的名稱。這個屬性指示該權限是針對哪個模型進行設定的。換句話說,它告訴系統哪個數據模型會受到這個權限的影響。
  • group_id:id: 這是權限所設定的目標群組。這個屬性使用XML ID來識別群組,並且這段描述中提到,當前的設定是給予所有人對該模型的讀取權限。換句話說,這個權限設定適用於base/security/base_group內的所有人。
  • perm_read: 這代表讀取模型數據的權限。如果這個值為1,則表示有權限進行模型數據的讀取操作。如果為0,則表示無法執行這個操作。
  • perm_create: 這代表新增模型數據的權限。如果這個值為1,則表示有權限進行新增模型數據的操作。如果為0,則表示無法執行這個操作。
  • perm_write: 這代表修改模型數據的權限。如果這個值為1,則表示有權限進行修改模型數據的操作。如果為0,則表示無法執行這個操作。
  • perm_unlink: 這代表刪除模型數據的權限。如果這個值為1,則表示有權限進行刪除模型數據的操作。如果為0,則表示無法執行這個操作。

明天介紹怎麼分類群組


上一篇
使用原生SQL語法
下一篇
create group (創建群組)
系列文
Odoo 16 入門介紹30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言